package com.example.hook.runtime;

/**
 * 方法拦截器接口
 */
public interface MethodInterceptor {
    
    /**
     * 拦截方法调用
     * 
     * @param instance 方法所在的实例对象（静态方法为null）
     * @param methodName 被拦截的方法名
     * @param args 方法参数
     * @param originalResult 原方法的返回值
     * @return 最终返回给调用者的值
     * @throws Exception 处理过程中的异常
     */
    Object intercept(Object instance, String methodName, Object[] args, Object originalResult) throws Exception;
}